import request from '@/config/axios'

// 租赁合同管理 VO
export interface RentVO {
  id: number // 租赁合同序号
  processInstanceId: string // 流程实例的编号
  proposerId: number //填报人ID
  effective: string
  status: string // 审批结果
  parentId: number // 续签合同序号
  userId: number // 所属用户ID
  landIds: string // 租赁宗地序号
  contractNo: string // 合同编号
  rentPrice: number // 出租金额
  rentPeriod: string // 出租期限
  startTime: Date // 开始时间
  endTime: Date // 结束时间
  rentLocation: string // 出租位置
  rentLandarea: number // 租赁土地面积
  rentBuildingarea: number // 租赁建筑面积
  rentType: string // 出租方式
  signingDate: Date // 合同签订日期
  payDate: Date // 约定交款日期
  paidDate: Date // 上次交款日期
  nextpayDate: Date // 下次交款日期
  remark: string // 备注
}

// 租赁合同管理 API
export const RentApi = {
  // 查询租赁合同管理分页
  getRentPage: async (params: any) => {
    return await request.get({ url: `/zszx/rent/page`, params })
  },

  getMyRentPage: async (params: any) => {
    return await request.get({ url: `/zszx/rent/mypage`, params })
  },

  // 查询租赁合同管理详情
  getRent: async (id: number) => {
    return await request.get({ url: `/zszx/rent/get?id=` + id })
  },

  // 新增租赁合同管理
  createRent: async (data: RentVO) => {
    return await request.post({ url: `/zszx/rent/create`, data })
  },

  // 修改租赁合同管理
  updateRent: async (data: RentVO) => {
    return await request.put({ url: `/zszx/rent/update`, data })
  },

  // 删除租赁合同管理
  deleteRent: async (id: number) => {
    return await request.delete({ url: `/zszx/rent/delete?id=` + id })
  },

  // 导出租赁合同管理 Excel
  exportRent: async (params) => {
    return await request.download({ url: `/zszx/rent/export-excel`, params })
  },
  // ==================== 子表（租赁合同档案） ====================

  // 获得租赁合同档案列表
  getRentFileListByBelongId: async (belongId) => {
    return await request.get({ url: `/zszx/rent/rent-file/list-by-belong-id?belongId=` + belongId })
  },

  // ==================== 子表（承租人信息） ====================

  // 获得承租人信息列表
  getLesseeListByRentId: async (rentId) => {
    return await request.get({ url: `/zszx/rent/lessee/list-by-rent-id?rentId=` + rentId })
  },

  // ==================== 子表（租金税费管理） ====================

  // 获得租金税费管理列表
  getTaxationListByRentId: async (rentId) => {
    return await request.get({ url: `/zszx/rent/taxation/list-by-rent-id?rentId=` + rentId })
  },

  // ==================== 子表（年度收益） ====================

  // 获得年度收益列表
  getEarningsListByRentId: async (rentId) => {
    return await request.get({ url: `/zszx/rent/earnings/list-by-rent-id?rentId=` + rentId })
  },
  // ==================== 子表（宗地信息） ====================

  // 获得宗地信息列表
  getLandListByLandIds: async (landIds) => {
    return await request.get({ url: `/zszx/rent/land/list-by-land-ids?landIds=` + landIds })
  },

  // ==================== 租金审批接口 ====================
  createRentApprove: async (data: RentVO) => {
    return await request.post({ url: '/zszx/rentapprove/create', data: data })
  },

  getRentApprove: async (data: RentVO) => {
    return await request.get({ url: '/zszx/rentapprove/get', data: data })
  },

  getMyRentApprovePage: async (data: RentVO) => {
    return await request.get({ url: '/zszx/rentapprove/my-page', data: data })
  },

  getRentApprovePage: async (data: RentVO) => {
    return await request.get({ url: '/zszx/rentapprove/manageer-page', data: data })
  },

  // 查询到期的租赁信息
  getExpireRentPage: async (params: any, days: number = 90) => {
    return await request.get({ url: `/zszx/rent/expire/${days}`, params })
  },
  getPayExpireRentPage: async (params: any, days: number = 90) => {
    return await request.get({ url: `/zszx/rent/payexpire/${days}`, params })
  },
  getExpireRentCount: async (days: number = 90) => {
    return await request.get({ url: `/zszx/rent/expire-count/${days}` })
  },
  getPayExpireRentCount: async (days: number = 90) => {
    return await request.get({ url: `/zszx/rent/payexpire-count/${days}` })
  },
  getRentsByLandId: async (landId: number) => {
    return await request.get({ url: `/zszx/rent/getRentsByLandId/${landId}` })
  },
  historyList: async () => {
    return await request.get({ url: `/zszx/rent/history-list` })
  },
  // 导出租赁合同管理 Excel
  exportExpireRent: async (params, days) => {
    return await request.download({ url: `/zszx/rent/export-expire/${days}`, params })
  },
    // 导出租赁合同管理 Excel
  exportPayExpireRent: async (params, days) => {
    return await request.download({ url: `/zszx/rent/export-payexpire/${days}`, params })
  },
}
